PERFECT UPDATED VERSION OF THE